home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mac Power 1997 December
/
MACPOWER-1997-12.ISO.7z
/
MACPOWER-1997-12.ISO
/
AMUG
/
PROGRAMMING
/
Raven 1.2.sit
/
Raven 1.2
/
• Extras •
/
Contextual Menu Headers
/
AbstractCMPlugin.xh
< prev
next >
Wrap
Text File
|
1997-03-20
|
5KB
|
180 lines
/*
* This file was generated by the SOM Compiler.
* FileName: Sources:NRSources:ContextualMenu:Modules:AbstractCMPlugin:AbstractCMPlugin.xh.
* Generated using:
* SOM Precompiler somipc: 2.18
* SOM Emitter emitxh.dll: 2.33
*/
#ifndef SOM_AbstractCMPlugin_xh
#define SOM_AbstractCMPlugin_xh
class AbstractCMPlugin;
#define AbstractCMPlugin_MajorVersion 0
#define AbstractCMPlugin_MinorVersion 0
/*
* Passthru lines: File: "C.xh", "before"
*/
#include <Types.h>
#include <Files.h>
#include <AppleEvents.h>
/* C++ SOM defs */
#include <somcls.xh>
#include <somcm.xh>
/* C++ parent defs */
#ifndef SOM_SOMObject_xh
#include <somobj.xh>
#endif
#ifndef AbstractCMPlugin_API
#define AbstractCMPlugin_API
/*
* -- The Class API
*/
/*
* Start of user-defined types:
*/
class SOMClass;
class SOMObject;
/*
* End of user-defined types.
*/
#ifdef OLDIBMSOMAPISUPPORT
#define AbstractCMPluginCClassData AbstractCMPluginClassData
#define AbstractCMPluginNewClass(major,minor) somNewVersionedClassReference(AbstractCMPlugin,major,minor)
#endif
/* define xxxMetaClass macro to facilitate (cls ## MetaClass) */
#define AbstractCMPluginMetaClass SOMClass
/* The API to the AbstractCMPlugin class object, and the methods it introduces. */
SOMEXTERN struct AbstractCMPluginClassDataStructure {
#ifdef OLDIBMSOMAPISUPPORT
SOMClass *classObject; /* always zero, use somNewClassReference instead */
#else
long zero;
#endif
somStaticClassInfo *sci;
somDToken instanceDataToken;
long reserved [3];
somMToken Initialize;
somMToken ExamineContext;
somMToken HandleSelection;
somMToken PostMenuCleanup;
} SOMDLINK AbstractCMPluginClassData;
#if !defined(AbstractCMPlugin_Class_Source) && !defined(SOM_Module_abstractcmplugin_Source)
#if PRAGMA_IMPORT_SUPPORTED
#pragma import list AbstractCMPluginClassData
#endif
#endif
/*
* -- Typedefs and inline method declarations for left path inherited methods
* -- are omitted because this compilation had -museinheritedmethods in effect
*/
/*
* -- Typedefs for AbstractCMPlugin Method Procedures
*/
SOMEXTERN {
typedef OSStatus (* SOMLINK somTD_AbstractCMPlugin_Initialize)(AbstractCMPlugin *somSelf, Environment *ev,
FSSpec* inFileSpec);
typedef OSStatus (* SOMLINK somTD_AbstractCMPlugin_ExamineContext)(AbstractCMPlugin *somSelf, Environment *ev,
AEDesc* inContextDescriptor,
SInt32 inTimeOutInTicks,
AEDescList* ioCommands,
boolean* outNeedMoreTime);
typedef OSStatus (* SOMLINK somTD_AbstractCMPlugin_HandleSelection)(AbstractCMPlugin *somSelf, Environment *ev,
AEDesc* inContextDescriptor,
SInt32 inCommandID);
typedef OSStatus (* SOMLINK somTD_AbstractCMPlugin_PostMenuCleanup)(AbstractCMPlugin *somSelf, Environment *ev);
}
#endif /* AbstractCMPlugin_API */
/*
* -- This emitter treats Method Tokens as Thunks by default.
* -- Use the sc modifier "nothunks" to change this default
*/
#undef somresolve_
#define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
/*
* -- The C++ Wrapper Class for AbstractCMPlugin
*/
class AbstractCMPlugin : public SOMObject
{
public:
// AbstractCMPlugin::new registers use of the class object, and then uses somNew
// to allocate memory and load the object method table pointer.
void *operator new(size_t size)
{
SOM_IgnoreWarning(size);
// Allocate memory using the default allocator for AbstractCMPlugin, and
// clear mem & set method table pointer, call basic initialization
return (void*) somNewObject(AbstractCMPlugin);
}
// AbstractCMPlugin::delete uses the default deallocator for the object's class.
void operator delete(void * obj)
{
if (obj) {
SOM_Resolve(obj,SOMObject,somFree)
( (SOMObject*) obj );
}
}
/* method: Initialize */
OSStatus Initialize(Environment *ev,
FSSpec* inFileSpec)
{
return SOM_ResolveD(this,AbstractCMPlugin,AbstractCMPlugin,Initialize)
(this,ev,inFileSpec);
}
/* method: ExamineContext */
OSStatus ExamineContext(Environment *ev,
AEDesc* inContextDescriptor,
SInt32 inTimeOutInTicks,
AEDescList* ioCommands,
boolean* outNeedMoreTime)
{
return SOM_ResolveD(this,AbstractCMPlugin,AbstractCMPlugin,ExamineContext)
(this,ev,inContextDescriptor,inTimeOutInTicks,ioCommands,outNeedMoreTime);
}
/* method: HandleSelection */
OSStatus HandleSelection(Environment *ev,
AEDesc* inContextDescriptor,
SInt32 inCommandID)
{
return SOM_ResolveD(this,AbstractCMPlugin,AbstractCMPlugin,HandleSelection)
(this,ev,inContextDescriptor,inCommandID);
}
/* method: PostMenuCleanup */
OSStatus PostMenuCleanup(Environment *ev)
{
return SOM_ResolveD(this,AbstractCMPlugin,AbstractCMPlugin,PostMenuCleanup)
(this,ev);
}
}; /* AbstractCMPlugin */
#endif /* SOM_AbstractCMPlugin_xh */